home *** CD-ROM | disk | FTP | other *** search
/ Complete Linux / Complete Linux.iso / xwindows / demos / xfract_1.z / xfract_1 / xfractint-1.06 / prototyp.h < prev    next >
C/C++ Source or Header  |  1992-09-28  |  32KB  |  927 lines

  1. /* includes needed to define the prototypes */
  2.  
  3. #include <stdio.h>
  4. #include "mpmath.h"
  5. #include "port.h"
  6. #include "fractint.h"
  7. #include "helpcom.h"
  8.  
  9. /*  calcmand -- assembler file prototypes */
  10.  
  11. extern int cdecl calcmandasm();
  12.  
  13. /*  calmanfp -- assembler file prototypes */
  14.  
  15. extern void cdecl calcmandfpasmstart();
  16. extern int  cdecl calcmandfpasm();
  17.  
  18. /*  fpu087 -- assembler file prototypes */
  19.  
  20. extern void cdecl FPUcplxmul(struct complex *, struct complex *, struct complex *);
  21. extern void cdecl FPUcplxdiv(struct complex *, struct complex *, struct complex *);
  22. extern void cdecl FPUsincos(double *, double *, double *);
  23. extern void cdecl FPUsinhcosh(double *, double *, double *);
  24. extern void cdecl FPUcplxlog(struct complex *, struct complex *);
  25. extern void cdecl SinCos086(long , long *, long *);
  26. extern void cdecl SinhCosh086(long , long *, long *);
  27. extern long far cdecl r16Mul(long , long );
  28. extern long far cdecl RegFloat2Fg(long , int );
  29. extern long cdecl Exp086(long);
  30. extern unsigned long far cdecl ExpFudged(long , int );
  31. extern long far cdecl RegDivFloat(long , long );
  32. extern long far cdecl LogFudged(unsigned long , int );
  33. extern long far cdecl LogFloat14(unsigned long );
  34. #ifndef XFRACT
  35. extern long far cdecl RegFg2Float(long, char);
  36. extern long far cdecl RegSftFloat(long, char);
  37. #else
  38. extern long far cdecl RegFg2Float(long , int );
  39. extern long far cdecl RegSftFloat(long , int );
  40. #endif
  41.  
  42. /*  fpu387 -- assembler file prototypes */
  43.  
  44. extern void cdecl FPUaptan387(double *, double *, double *);
  45. extern void cdecl FPUcplxexp387(struct complex *, struct complex *);
  46.  
  47. /*  fracsuba -- assembler file prototypes */
  48.  
  49. extern int cdecl  longbailout( void );
  50. extern int FManOWarfpFractal( void );
  51. extern int FJuliafpFractal( void );
  52. extern int FBarnsley1FPFractal( void );
  53. extern int FBarnsley2FPFractal( void );
  54. extern int FLambdaFPFractal( void );
  55.  
  56. /*  general -- assembler file prototypes */
  57.  
  58. extern  long   cdecl multiply(long, long, int);
  59. extern  long   cdecl divide(long, long, int);
  60. extern  int    cdecl getakey(void);
  61. extern  void   cdecl buzzer(int);
  62. extern  void   cdecl farmemfree(VOIDFARPTR );
  63. extern  int    cdecl far_strlen( char far *);
  64. extern  int    cdecl far_strnicmp(char far *, char far *,int);
  65. extern  void   cdecl far_strcpy( char far *, char far *);
  66. extern  int    cdecl far_strcmp( char far *, char far *);
  67. extern  void   cdecl far_stricmp(char far *, char far *);
  68. extern  void   cdecl far_strcat( char far *, char far *);
  69. extern  void   cdecl far_memset( VOIDFARPTR , int      , int);
  70. extern  void   cdecl far_memcpy( VOIDFARPTR , VOIDFARPTR , int);
  71. extern  int    cdecl far_memcmp( VOIDFARPTR , VOIDFARPTR , int);
  72. extern  void   cdecl far_memicmp(VOIDFARPTR , VOIDFARPTR , int);
  73. extern  void   cdecl emmdeallocate(unsigned int);
  74. extern  void   cdecl emmgetpage(unsigned int, unsigned int);
  75. extern  void   cdecl emmclearpage(unsigned int, unsigned int);
  76. extern  int    cdecl keypressed(void);
  77. extern  long   cdecl readticker( void );
  78. extern  void   cdecl emmdeallocate(unsigned int);
  79. extern  void   cdecl xmmdeallocate(unsigned int);
  80. extern  void   cdecl snd( int );
  81. extern  void   cdecl nosnd( void );
  82. extern  void   cdecl initasmvars( void );
  83. extern  void   cdecl enable( void );
  84. extern  void   cdecl disable( void );
  85. extern  void   cdecl delay( int );
  86. extern  int    cdecl farread(int, VOIDFARPTR, unsigned);
  87. extern  int    cdecl farwrite(int, VOIDFARPTR, unsigned);
  88. extern  long   cdecl normalize(char far *);
  89. extern  unsigned int cdecl xmmmoveextended(struct XMM_Move *);
  90. extern  void   cdecl erasesegment(int, int);
  91. extern  int    cdecl IITCoPro( void );
  92. extern  int    cdecl F4x4Check( void );
  93. extern  int    cdecl F4x4Lock( void );
  94. extern  void   cdecl F4x4Free( void );
  95. extern  int    cdecl getakeynohelp( void );
  96. extern  unsigned int cdecl cmpextra( unsigned int, char *, int );
  97. extern  unsigned int cdecl fromextra( unsigned int, char *, int );
  98. extern  unsigned int cdecl toextra( unsigned int, char *, int );
  99. extern  void   cdecl load_mat(double (*)[4]);
  100. extern  VOIDFARPTR cdecl farmemalloc(long);
  101. extern  unsigned int *cdecl xmmquery(void);
  102. extern  BYTE far *cdecl emmquery(void);
  103. extern  unsigned int cdecl emmgetfree(void);
  104. extern  unsigned int cdecl emmallocate(unsigned int);
  105. extern  unsigned int cdecl emmallocate(unsigned int);
  106. extern  unsigned int cdecl xmmallocate(unsigned int);
  107. extern  void   mult_vec_iit(VECTOR);
  108.  
  109. /*  lsysa -- assembler file prototypes */
  110.  
  111. extern void lsys_doplus(long);
  112. extern void lsys_doplus_pow2(long);
  113. extern void lsys_dominus(long);
  114. extern void lsys_dominus_pow2(long);
  115. extern void lsys_dopipe_pow2(long);
  116. extern void lsys_dobang(long);
  117.  
  118. #ifndef XFRACT
  119. extern void lsys_doslash_386(long);
  120. extern void lsys_dobslash_386(long);
  121. extern void lsys_doat_386(long);
  122. extern void lsys_dosizegf_386(long);
  123. extern void lsys_dodrawg_386(long);
  124. #endif
  125.  
  126. /*  mpmath_a -- assembler file prototypes */
  127.  
  128. extern struct MP * MPmul086(struct MP , struct MP );
  129. extern struct MP * MPdiv086(struct MP , struct MP );
  130. extern struct MP * MPadd086(struct MP , struct MP );
  131. extern int         MPcmp086(struct MP , struct MP );
  132. extern struct MP * d2MP086(double );
  133. extern double    * MP2d086(struct MP );
  134. extern struct MP * fg2MP086(long , int );
  135. extern struct MP * MPmul386(struct MP , struct MP );
  136. extern struct MP * MPdiv386(struct MP , struct MP );
  137. extern struct MP * MPadd386(struct MP , struct MP );
  138. extern int         MPcmp386(struct MP , struct MP );
  139. extern struct MP * d2MP386(double );
  140. extern double    * MP2d386(struct MP );
  141. extern struct MP * fg2MP386(long , int );
  142. extern double *    MP2d(struct MP );
  143. extern int         MPcmp(struct MP , struct MP );
  144. extern struct MP * MPmul(struct MP , struct MP );
  145. extern struct MP * MPadd(struct MP , struct MP );
  146. extern struct MP * MPdiv(struct MP , struct MP );
  147. extern struct MP * d2MP(double );  /* Convert double to type MP */
  148. extern struct MP * fg2MP(long , int ); /* Convert fudged to type MP */
  149.  
  150. /*  newton -- assembler file prototypes */
  151.  
  152. extern int cdecl    NewtonFractal2( void );
  153. extern void cdecl   invertz2(CMPLX *);
  154.  
  155. /*  tplus_a -- assembler file prototypes */
  156.  
  157. extern void WriteTPlusBankedPixel(int, int, unsigned long);
  158. extern unsigned long ReadTPlusBankedPixel(int, int);
  159.  
  160. /*  video -- assembler file prototypes */
  161.  
  162. extern void   cdecl adapter_detect(void);
  163. extern void   cdecl clearbox(void);
  164. extern void   cdecl dispbox(void);
  165. extern void   cdecl setvideotext(void);
  166. extern void   cdecl setnullvideo(void);
  167. extern void   cdecl setfortext(void);
  168. extern void   cdecl setforgraphics(void);
  169. extern void   cdecl swapnormwrite(void);
  170. extern void   cdecl setclear(void);
  171. extern int    cdecl SetupShadowVideo(void);
  172. extern int    cdecl ShadowVideo(int);
  173. extern int    cdecl keycursor(int,int);
  174. extern void   cdecl swapnormread(void);
  175. extern void   cdecl setvideomode(int, int, int, int);
  176. extern void   cdecl movewords(int,BYTE far*,BYTE far*);
  177. extern void   cdecl movecursor(int, int);
  178. extern void   cdecl get_line(int, int, int, BYTE *);
  179. extern void   cdecl put_line(int, int, int, BYTE *);
  180. extern void   cdecl setattr(int, int, int, int);
  181. extern void   cdecl putstring(int,int,int,CHAR far *);
  182. extern void   cdecl spindac(int, int);
  183. extern void   cdecl find_special_colors(void);
  184. extern char   cdecl get_a_char(void);
  185. extern void   cdecl put_a_char(int);
  186. extern void   cdecl scrollup(int, int);
  187. extern void   cdecl home(void);
  188. extern BYTE far *cdecl  findfont(int);
  189. extern int _fastcall getcolor(int, int);
  190. extern void _fastcall putcolor(int, int, int);
  191. extern int  out_line(BYTE *, int);
  192. extern void   (*swapsetup)(void);
  193.  
  194. /*  3d -- C file prototypes */
  195.  
  196. extern void identity(MATRIX);
  197. extern void mat_mul(MATRIX,MATRIX,MATRIX);
  198. extern void scale(double ,double ,double ,MATRIX);
  199. extern void xrot(double ,MATRIX);
  200. extern void yrot(double ,MATRIX);
  201. extern void zrot(double ,MATRIX);
  202. extern void trans(double ,double ,double ,MATRIX);
  203. extern int cross_product(VECTOR,VECTOR,VECTOR);
  204. extern int normalize_vector(VECTOR);
  205. extern int vmult(VECTOR,MATRIX,VECTOR);
  206. extern void mult_vec_c(VECTOR);
  207. extern int perspective(VECTOR);
  208. extern int longvmultpersp(LVECTOR,LMATRIX,LVECTOR,LVECTOR,LVECTOR,int);
  209. extern int longpersp(LVECTOR,LVECTOR,int );
  210. extern int longvmult(LVECTOR,LMATRIX,LV